/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.csource.manage.service;

import com.icinfo.cloud.provider.punish.csource.manage.dto.CaseSourceDocumentRecordDelDto;
import com.icinfo.cloud.provider.punish.csource.manage.dto.CaseSourceLinkRelateDocumentQueryDto;
import com.icinfo.cloud.provider.punish.csource.manage.model.CaseSourceDocumentRecord;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.DocumentRecordModifyDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseStageLinkRelateDocumentVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.DocumentRecordModifyReturnVo;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述: 案源文书记录表 case_source_document_record 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年08月15日
 */
public interface ICaseSourceDocumentRecordService extends BaseService {
    /**
     * 查询案源文书列表
     * @author liyafeng
     * @date 2022/8/15
      * @param query
     * @return {@link List< CaseStageLinkRelateDocumentVo>}
     */
    List<CaseStageLinkRelateDocumentVo> getCaseStageLinkRelateDocumentInfo(CaseSourceLinkRelateDocumentQueryDto query);
    /**
     * 查询案源文书
     * @author liyafeng
     * @date 2022/8/16
      * @param caseSourceId
     * @param documentCatalogCode
     * @param s
     * @return {@link CaseSourceDocumentRecord}
     */
    CaseSourceDocumentRecord getCaseDocumentRecord(String caseSourceId, String documentCatalogCode, String s);

    /**
     * 描述：删除文书记录
     *
     * @param delDto 德尔dto
     * @return int
     * @author shishengyao
     * @date 2022/08/18
     */
    int delCaseDocumentRecordInfo(CaseSourceDocumentRecordDelDto delDto);

    /**
     * 获取文书记录列表
     *
     * @param caseSourceId 案源唯一标识
     * @param catalogCodeList 文书目录编码列表
     * @return
     * @author lilihao
     * @date 2023/2/7 15:10
     */
    List<CaseSourceDocumentRecord> getDocumentRecordList(String caseSourceId, List<String> catalogCodeList);

    /**
     * 根据id获取文书记录
     * @param id 文书id
     * @return  文书信息
     * @author lilihao
     * @date 2023/2/7 17:17
     */
    CaseSourceDocumentRecord getDocumentRecordById(String id);

    /**
     * 修改文书内容/链接
     * @param id 文书id
     * @param documentContent 文书内容
     * @param documentUrl 文书链接
     * @return
     * @author lilihao
     * @date 2023/2/7 19:18
     */
    int modifyDocumentContent(String id,String documentContent,String documentUrl);

    /**
     * 根据案源编码获取案源id
     * @param  documentNumber 案源文书编码
     * @return  案源id
     * @author lilihao
     * @date 2023/3/8 20:24
     */
    String getCaseSourceIdByDocumentNumber(String documentNumber);

    /**
     * 【V1.11.2】描述： 案源文书修改
     *
     * @author: zhengqiang
     * @date: 2023/3/17
     * @param: saveDto
     * @return {@link DocumentRecordModifyReturnVo}
     **/
    DocumentRecordModifyReturnVo modifyCaseSourceDocumentRecord(DocumentRecordModifyDto saveDto);
}
